package vwg.na.vwm.rh.rhmotor.util;

import java.io.Serializable;

public class InputDinamico implements Serializable{
	private static final long serialVersionUID = 1L;
	
	private Boolean requerido;
	private Boolean rendered;
	private Boolean soloLectura;
	private Boolean deshabilitado;
	
	public InputDinamico() {
		rendered = true;
		requerido = true;
		deshabilitado = false;
		soloLectura = false;
	}
	
	public InputDinamico(boolean rendered,boolean deshabilitado, boolean requerido){
		this.rendered = rendered;
		this.deshabilitado = deshabilitado;
		this.requerido = requerido;
	}
	
	/**
	 * Deshabilita y Visualiza un Componente
	 */
	public void deshabilitarVisualizado(){
		rendered = true;
		deshabilitado = true;
	}	
	
	/**
	 * Deshabilita y Oculta un Componente
	 */
	public void deshabilitarNoVisualizado(){
		rendered  = false;
		deshabilitado = true;
	}
	
	/**
	 * Habilita y Visualiza un componente
	 */
	public void habilitarVisualizar(){
		rendered  = true;
		deshabilitado = false;
	}
    
	/**
	 * Habilita, visualiza y vuelve el componente No Requerido
	 */
    public void habilitarVisualizarNoRequerido() {
    	rendered = true;
        deshabilitado = false;
        requerido = false;
    }
    
    /**
     * Habilita, Visualiza y vuelve el componente Requerido
     */
	public void habilitarVisualizadoRequerido(){
		rendered = true;
		deshabilitado =false;
		requerido = true;
	}
	
	/**
	 * Deshabilita, Visualiza y vuelve el componente No Requerido
	 */
	public void deshabilitarVisualizadoNoRequerido(){
		rendered = true;
		deshabilitado = true;
		requerido = false;
	}
	
	/**
	 * Deshabilita, Oculta y vuelve el componente No Requerido
	 */
	public void deshabilitarNoVisualizadoNoRequerido() {
		rendered = false;
		deshabilitado =true;
		requerido = false;
	}
	
	// ********************    Getters & Setters **************************** //
	public boolean isDeshabilitado(){
		return deshabilitado;
	}
	
	public void setDeshabilitado(boolean deshabilitado){
		this.deshabilitado = deshabilitado;
	}
	
	public boolean isRequerido() {
		return requerido;
	}
	
	public void setRequerido(boolean requerido) {
		this.requerido = requerido;
	}
	
	public boolean isRendered() {
		return rendered;
	}
	
	public void setRendered(boolean rendered) {
		this.rendered = rendered;
	}

	public boolean isSoloLectura() {
		return soloLectura;
	}

	public void setSoloLectura(boolean soloLectura) {
		this.soloLectura = soloLectura;
	}
}
